1. Field of the Invention
The present invention relates to a signal processor for data-compressing multi-value data representing a half tone image, a color image, and the like, more specifically to a technology for improving a processing efficiency by orthogonally transforming a unit region (block) of the image data as a compression algorithm of the image data and orthogonally transforming direct-current components with respect to a plurality of blocks in order to increase a compression efficiency.
2. Description of the Related Art
An image data representing a multi-value image, examples of which are an half tone image, a color image and the like, has an enormous volume of information. Therefore, it is necessary to compress the information volume when any of these image data is stored and transmitted. An example of an encoding method for compressing the information volume without destroying characteristics of the image data of the multi-value image, which is widely used, is a method in which DCT (Discrete Cosine Transform) as an orthogonal transform is used. Further, an encoding method in which a plurality of different orthogonal transforms is combined was invented in order to increase an encoding efficiency pursuant to the improvement of an image quality. In the encoding method called H.264/AVC, in particular, HAT (Hadamard Transform), which is an orthogonal transform, is combined with the discrete cosine transform so that the encoding efficiency is increased.
FIG. 15 shows a constitution of a signal processor in which the H.264/AVC encoding method is adopted. FIGS. 16A-16C and 17A-17C are illustrations of a concept of the signal processing. The signal processor comprises a discrete cosine transform unit 41, an Hadamard transform unit 42, a quantizing unit 43, an inverse Hadamard transform unit 44, an inverse quantizing unit 45, an inverse discrete cosine transform unit 46, an image predicting unit 47, and a predicted image error calculating unit 48.
An image to be encoded is divided into blocks of, for example, 4×4 pixels (see FIG. 16A), and a predicted image error data D0′ corresponding to each of the blocks is generated in the predicted image error calculating unit 48 and supplied to the discrete cosine transform unit 41. The discrete cosine transform unit 41 executes a two-dimensional discrete cosine transform to the supplied predicted image error data D0′ to thereby orthogonally transform the predicted image error data D0′ of each block (see FIG. 16B). Then, a DCT coefficient data D1′ representing a spatial frequency distribution of the images of the respective blocks is generated in the form of the matrix of four rows by four columns. The processing thereafter is described referring to a processing of a direct-current component and a processing of an alternate-current component.
Processing of Direct-Current Component
The discrete cosine transform unit 41 generates at once a DCT direct-current coefficient data D3′ representing a direct-current component distribution of the images of a processing unit (MB (macro blocks): for example, eight blocks) from direct-current components D2′ of the DCT coefficient data D1′ (see FIG. 16C), and supplies the data D3′ to the Hadamard transform unit 42. The Hadamard transform unit 42 executes a two-dimensional Hadamard transform to the supplied DCT discrete-current data D3′ to thereby orthogonally transform the data D3′ (see FIG. 17A). As a result, a HAT coefficient data D4′ representing a spatial frequency distribution relating to the direct-current components of the images of the eight blocks is generated in the form of the matrix of two rows by four columns.
Processing of Alternate-Current Component
Of the DCT coefficient data D1′, the alternate-current components except for the direct-current components D2′ and the HAT coefficient data D4′ are supplied to the quantizing unit 43. The quantizing unit 43 quantizes the alternate-current components of the supplied DCT coefficient data D1′ and the HAT coefficient data D4′ based on an appropriate quantizing step. The quantizing step is determined based on a result of a visual experiment in which a visual sensitivity with respect to each of the spatial frequencies is checked, and serves to minimize deterioration of a visual image quality and increase the encoding efficiency. Thereby, a post-quantizing DCT coefficient data d5′ and a post-quantizing HAT coefficient data D5′ are generated (see FIGS. 16B and 17A). These post-quantizing data are encoded.
Further, restoration of a quantizing result to the image data and feedback of the restored image data are necessary so that a quantizing error is not stored in other than signal processor. Therefore, the post-quantizing HAT coefficient data D5′ is supplied to the inverse Hadamard transform unit 44. The inverse Hadamard transform 44 executes a two-dimensional inverse Hadamard transform to the supplied post-quantizing HAT coefficient data D5′ to thereby orthogonally transform the data D5′ (see FIG. 17A). As a result, a post-quantizing DCT direct-current coefficient data D6′ corresponding to the direct-current components d4′ of the post-quantizing DCT coefficient data d5′ relating to the images of the eight blocks is obtained.
Next, the post-quantizing DCT direct-current coefficient data D6′ is dissolved into direct-current components D7′ of the respective eight blocks (sec FIG. 17B) and reflected on the direct-current components d4′ of the post-quantizing DCT coefficient data d5′, and then, the post-quantizing DCT coefficient data d5′ is supplied to the inverse quantizing unit 45. The inverse quantizing unit 45 inversely quantizes the supplied data in order to obtain an original spatial frequency. The DCT coefficient data D1′ representing the spatial frequency distribution of the images of the respective blocks is generated in the form of the matrix of four rows by four columns (see FIG. 16B).
Next, the DCT coefficient data D1′ is supplied to the inverse discrete cosine transform unit 46. The inverse discrete cosine transform unit 46 executes a two-dimensional inverse discrete cosine transform to the supplied DCT coefficient data D1′ to thereby orthogonally transform the DCT coefficient data D1′ of each block. Thereby, the predicted image error data D0′ of each block is generated (see FIG. 16B).
Finally, the predicted image error data D0′ is supplied to the image predicting unit 47. The image predicting unit 47 supplies the generated predicted image to the predicted image error calculating unit 48. Then, the encoding process is completed.
The predicted image error data D0′ thus generated shows a processing result which is the same as that of a decoding process. Therefore, the storage of the quantizing error can be prevented when the predicted image error data D0′ is used as a reference image for the calculation of the predicted image error in the next encoding process.
As described, the spatial frequency distribution of the images of the respective blocks and the spatial frequency distribution relating to the direct-current components of the images of the plurality of blocks are quantized by means of the two different orthogonal transforms, which are the discrete cosine transform (DCT) and the Hadamard transform (HAT), as a result of which a high encoding efficiency can be realized.
However, the conventional encoding method has such a problem that a processing time until the encoding process is completed is increased. FIG. 18 shows the respective processings in chronological order. The discrete cosine transform (DCT), Hadamard transform (HAT), quantization (Q), inverse Hadamard transform (IHAT), inverse quantization (IQ), inverse discrete cosine transform (IDCT), and image prediction (Pred) are shown in chronological order in the drawing.
In order to execute the quantization (Q) after the Hadamard transform (HAT) is completed as described, the quantization starts at and after Timing T41, in which case a significantly large amount of time is necessary as a maximum allocation time T42 of one processing unit (MB).
FIG. 19 shows constitution of a data compressing device having the encoding efficiency lower than that of the device structure shown in FIG. 15 in which only the DCT is used. The data compressing device does not comprise the Hamadard transform unit and the inverse Hamadard transform unit. FIG. 20 shows the respective processings in chronological order in the data compressing device shown in FIG. 19. The discrete cosine transform (DCT), quantization (Q), inverse quantization (IQ), inverse discrete cosine transform (IDCT), and image prediction (Pred) are shown in chronological order in the drawing.
In the constitution of the data compressing device, the quantization starts at and after Timing T51 because the quantization (Q) is executed after the discrete cosine transform (DCT) is completed. In this case, the maximum allocation time T42 in the chronological operation shown in FIG. 18 is almost doubled in comparison to a maximum allocation time T52 in each processing unit (MB). The maximum allocation time T42 is thus increased because, with the Hamadard transform (HAT), a second orthogonal transform, added in the chronological operation shown in FIG. 18, the quantization (Q) cannot start unless the Hamadard transform is completed and the inverse Hadamard transform (IHAT) cannot start unless the quantization is completed.
In order to deal with such an inconvenience, it is necessary to increase a circuit operation frequency or parallelize the processings, which consequently invites increase of a chip area and increase of power consumption.
What matters most is the deterioration of the processing efficiency resulting from the inverse transform that has to be executed depending on the processing order when there are two orthogonal transforms, or the like, to be executed consecutively.